/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain.bo;

import com.comac.ins.isfd.domain.IsfdMeshOp2CompareItemRef;
import com.comac.ins.isfd.domain.IsfdMeshOp2CompareObject;
import com.comac.ins.isfd.domain.IsfdMeshOp2UnitNodeList;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;


/**
 * 自然网格结果对比任务实体传输类
 *
 * @author lj
 * @date 2025-01-13
 */
@Data
public class IsfdMeshOp2CompareTaskBo {

    private String _id;

    /**
     * 当前第几步
     */
    @NotNull(message = "当前步骤不能为空")
    private Integer currentStep;

    /**
     * 填写完成的最大步骤
     */
    private Integer maxStep;

    /**
     * 任务名称
     */
    @NotBlank(message = "任务名称不能为空")
    private String taskName;

    /**
     * 所属部段编码
     */
    @NotNull(message = "所属部段编码不能为空")
    private List<String> sectionNumbers;

    /**
     * 所属部段名称，多个逗号隔开
     */
    @NotNull(message = "所属部段名称不能为空")
    private List<String> sectionNames;

    /**
     * 第一步，对比对象列表
     */
    @NotNull(message = "第一步，对比对象列表不能为空")
    private List<IsfdMeshOp2CompareObject> stepOne;

    /**
     * 第二步，对比条目列表
     */
    private List<IsfdMeshOp2CompareItemRef> stepTwo;

    /**
     * 第三步，单元节点清单
     */
    private IsfdMeshOp2UnitNodeList stepThree;

    /**
     * 任务状态：
     * 草稿，对比中，对比完成 ，对比失败
     *
     * @see com.comac.ins.isfd.constant.enums.IsfdMeshOp2CompareTaskStatusEnum
     */
    private String status;

    /**
     * 失败原因
     */
    private String message;
}
